Low i/o bandwidth method and system for implementing detection and identification of scrambling codes

ABSTRACT

A system for detecting and identifying the identity of a base station or cell which transmits a scrambling code is provided. According to one aspect of the system, the system is used to perform scrambling code detection of eight (8) primary cells (each scrambling code&#39;s X-component being spaced sixteen (16) chips apart) in a group. According to another aspect of the system, a single scrambling code generator is used to generate a master scrambling code. The master scrambling code is then used to create individual scrambling codes which are used in correlation with received signals to detect in parallel which one of the eight (8) possible primary cells in the group transmitted the received signals. According to yet another aspect of the system, each of the correlators maintains a corresponding X-component segment of the master scrambling code. For every sixteen (16) chips, a new X-component segment of the master scrambling code is introduced into one of the correlators, a X-component segment of the master scrambling code is dropped from another correlator, and X-component segments of the master scrambling code are sequentially shifted or propagated through the remaining correlators; and concurrent correlations are performed by the correlators using their respective corresponding X-component segments of the master scrambling code and newly received signals.

CROSS-REFERENCES TO RELATED APPLICATION(S)

The present application is a continuation-in-part application ofpending, commonly assigned U.S. patent application Ser. No. 10/015,531,filed on Dec. 12, 2001, entitled “A LOW I/O BANDWIDTH METHOD AND SYSTEMFOR IMPLEMENTING DETECTION AND IDENTIFICATION OF SCRAMBLING CODES,” bySharad Sambhwani et al., the disclosure of which is hereby incorporatedby reference in its entirety as if set forth in full herein for allpurposes.

BACKGROUND OF THE INVENTION

The present invention generally relates to scrambling codes. Morespecifically, the present invention relates to a method and system fordetecting scrambling codes within a W-CDMA communication system.

Code acquisition is a fundamental algorithm required in any directsequence spread spectrum (DSSS) receiver. Prior to de-spreading,demodulating and decoding frames, such a receiver needs to acquireknowledge of timing information relating to the underlying spreadingwaveform being used to spread the data-bearing signal. According to thewide-band code division multiple access (W-CDMA) communication system ofthe 3GPP standards body, upon turning on a mobile terminal or device, a3-step initial cell search procedure needs to be performed to acquirethe primary scrambling code which is used to spread the data bearingchannels. Examples of such channels are the primary common pilot channel(P-CPICH) and the dedicated physical channel (DPCH).

The first step of the 3-step initial cell search procedure relates toslot timing. In a W-CDMA communication system, each base stationtransmits its own scrambling code in frames over the air to a mobileterminal. Each frame is made up of fifteen (15) slots. Before the startof a frame can be located, the start of a slot needs to be identifiedfirst. Once the start of a slot is identified, then it can be assuredthat one of the next fifteen (15) slots represents the start of a frame.Upon conclusion of the first step, the start of a slot is identified.

The second step of the 3-step initial cell search procedure relates toframe timing. As mentioned above, at the end of the first step, thestart of a slot is identified. Once that is achieved, the start of aframe can then be identified. Within a W-CDMA communication system,there are five hundred and twelve (512) base stations within thenetwork. The base stations are identified in the network by a networkmatrix. The network matrix has sixty-four groups (64) and each group haseight (8) cells. A particular base station is identified by its groupand its cell position within the group. During this second step, thestart of a frame is identified and the mobile terminal can thensynchronize to the identified frame and obtain information relating togroup identification. Upon conclusion of the second step, the groupwhich contains the base station that sent out the frame (or scramblingcode) is identified, i.e., one out of sixty-four (64) group isidentified.

Upon completing the first two steps of the initial cell searchprocedure, the receiver has knowledge of the slot and frame timing ofthe received scrambling code, such as a P-CPICH signal. The receiveralso has knowledge of the group identification of the base station orcell being acquired. The group identification information containsinformation on all eight (8) primary cells within the group. Since thereare eight (8) cells in a group, using the group identificationinformation, the receiver needs only to identify one (1) out of eight(8) possible primary cells from the group.

To achieve this goal, the receiver may use one of two conventionalapproaches. Under the first approach, the receiver may perform acorrelation of the received signals with a parallel bank of eight (8)scrambling code generators (typical correlation length N ranges from 64to 256 chips based on frequency offset in the received signals). All theeight (8) correlations are performed within N chips, at the expense ofusing eight (8) parallel scrambling code generators.

Under the second approach, the receiver may sequentially correlate thereceived signals with eight (8) possible scrambling codes for N chipseach. Using a single scrambling code generator, one may attain all eight(8) correlation results after slightly greater than 8*N chips (thisnumber of chips is needed to allow for reassigning the scrambling codegenerator to another phase offset, after each correlation is performed),

Implementations may not be limited to the above two conventionalapproaches. The above two approaches were explained for the case of realtime processing of the CDMA signal, i.e. no buffering of received datawas assumed for these two cases.

As mentioned above, the eight (8) scrambling codes may be generated inparallel, using eight (8) separate scrambling code generators eachoperating independently, or the eight (8) scrambling codes maybegenerated using a single scrambling code generator using eight (8) setsof masks (a set=4 18-bit masks). However, both of these approachesrequire additional power consumption/silicon area. Under the firstapproach, additional scrambling code generators are needed; and underthe second approach, additional memory storage is needed to store thereceived signals and it takes additional time to generate and processthe necessary scrambling codes in a sequential manner.

Hence, it would be desirable to provide a method and system which iscapable of generating scrambling codes for correlation to identify areceived scrambling code in a more efficient manner.

SUMMARY OF THE INVENTION

An exemplary method of the present invention is used to performscrambling code detection of eight (8) primary cells (each scramblingcode's X-component being spaced sixteen (16) chips apart) in a group.According to the exemplary method, a single scrambling code generator isused to generate a master scrambling code. The master scrambling code isthen used to create individual scrambling codes which are used incorrelation with received signals to detect in parallel which one of theeight (8) possible primary cells in the group transmitted the receivedsignals. Each individual scrambling code has a X-component and aY-component. The individual scrambling codes are created based on thefact that the X-component of each cell station's scrambling code's phasereference is spaced sixteen (16) chips apart.

The use of this exemplary method reduces the complexity of scramblingcode or PN generator(s) in the parallel search implementation. Morespecifically, the use of this exemplary method avoids the need toutilize parallel logic to generate eight (8) scrambling codes. Since theX-component of each primary scrambling code within a group is sixteen(16) chips apart, a pair of buffers (one for the X-component and one forthe Y-component) is used to store a sequential stream of X- andY-components of the master scrambling code (typically the first primarycode with a group) output respectively from a single scrambling codegenerator. Since the Y-component is common to all primary cells in thegroup, the Y-component is correlated with different portions of theX-component (each portion being offset by a multiple of sixteen (16)locations from the X-component buffer) to generate all eight (8)individual scrambling codes in the group. That is, using different16-chip offsets in the X-component buffers (complex samples) and acommon Y-component buffer (complex samples), all eight (8) differentcomplex individual scrambling codes can be generated. The received datais then correlated in parallel with each of the eight (8) individualscrambling codes generated from the master scrambling code. Eightdimensions are mapped to a single dimension at the expense of a slightincrease in storage size.

This exemplary method can be used as part of an overall 3-step initialcell search procedure to acquire the downlink of a 3GPP WCDMA cell,which more specifically corresponds to part of the stage 3 portion ofthe cell search procedure.

According to an exemplary implementation of the exemplary method of thepresent invention, the exemplary implementation includes a singlescrambling code generator and eight (8) correlators arranged insequential order. Each of the correlators maintains a correspondingsegment of the master scrambling code's X-component and a common segmentof the Y-component. For every sixteen (16) chips, a new segment of themaster scrambling code's X-component is introduced into one of thecorrelators by the scrambling code generator, a segment of the masterscrambling code's X-component is dropped from another correlator, andsegments of the master scrambling code's X-component are sequentiallyshifted or propagated through the remaining correlators; and concurrentcorrelations are performed by the correlators using their respectivecorresponding segments of the master scrambling code and newly receivedsignals. The foregoing process is repeated until a desired correlationlength is achieved.

Reference to the remaining portions of the specification, including thedrawings and claims, will realize other features and advantages of thepresent invention. Further features and advantages of the presentinvention, as well as the structure and operation of various embodimentsof the present invention, are described in detail below with respect toaccompanying drawings, like reference numbers indicate identical orfunctionally similar elements.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a is a simplified diagram illustrating the timing of theX-components of the scrambling codes of the eight (8) cells within agroup;

FIG. 1 b is a simplified diagram illustrating the timing of theY-components of the scrambling codes of the eight (8) cells within agroup;

FIG. 2 is a flow diagram illustrating an exemplary method of the presentinvention;

FIG. 3 is a simplified diagram illustrating parallel correlations ofeight (8) cells in a group using a single scrambling code generatoraccording to the present invention;

FIG. 4 is a simplified diagram illustrating one exemplary implementationof the exemplary method according to the present invention;

FIG. 5 is a flow diagram illustrating one exemplary implementation ofthe exemplary method in accordance with the present invention;

FIGS. 6 a and 6 b are simplified diagrams illustrating a secondexemplary implementation of the exemplary method in accordance with thepresent invention;

FIG. 7 a is a diagram illustrating correlation results generated by theexemplary method shown in FIG. 3 in accordance with the presentinvention; and

FIG. 7 b is a diagram illustrating correlation results generated afterone iteration by the exemplary implementation shown in FIG. 6 inaccordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention in the form of one or more exemplary embodimentswill now be discussed. The present invention can be applied to the thirdstep of the initial cell search procedure when a mobile terminal isinitially powered on to identify the base station or cell whichtransmitted the received signals containing a scrambling code. FIG. 1 ais a simplified diagram illustrating the timing of the X-components ofthe scrambling codes of the eight (8) cells within a group. Referring toFIG. 1 a, the scrambling code of each cell is transmitted on a periodicbasis and the period of the scrambling code of each cell is thirty-eightthousand and four hundred (38,400) chips, i.e., the scrambling code ofeach cell is repeated after 38,400 chips. For example, for cell “0”, X₀is generated internally within a scrambling code generator at t₀ and att_(38,400). Furthermore, the X-components of the scrambling codes of anytwo adjacent cells are offset by sixteen (16) chips. For example, cells“0” and “1” transmit X₀ and X₁₆ respectively at t₀. The scrambling codesof all the cells within the group are transmitted at the same frameboundary. By having a 16-chip offset between two adjacent cells, theX-components of the scrambling codes between two adjacent groups ofcells are offset by one hundred and twenty-eight (128) (16*8=128). Itshould be noted that the Y-components of all the scrambling codes for agroup of cells are the same, i.e., there is no offset between theY-components of adjacent scrambling codes. FIG. 1 b is a simplifieddiagram illustrating the timing of the Y-components of the scramblingcodes of the eight (8) cells within a group.

According to one exemplary method of the present invention, a scramblingcode represented by the received signals is identified by using a singlescrambling code generator to attain N chip correlation of the receivedsignals with eight (8) primary scrambling codes in a group withinN+16*7=N+112 chips.

FIG. 2 is a flow diagram illustrating an exemplary method of the presentinvention. Referring to FIG. 2, at 20, the correlation length N is firstdetermined. The correlation length N is the amount of time during whichcorrelation between the received signals and the generated scramblingcodes is summed up. The correlation length N is selected such thatreasonable correlation results can be obtained. Typical values of thecorrelation length N range from sixty-four (64) to two hundred andfifty-six (256), depending on the relative carrier frequency offsetbetween the transmitted and received signals. A person of ordinary skillin the art will know how to select the proper correlation length. Next,at 22, using the selected correlation length, the chip offset (CO)between two adjacent scrambling codes, and the number of cells (C)within a group, a master scrambling code is generated. The masterscrambling code has a X-component and a Y-component. The X-component andthe Y-component are respectively stored in a X-component buffer and aY-component buffer for subsequent use in generating possible scramblingcodes from all the cells in an identified group. The master scramblingcode has a period, e.g., 38,400 chips, which is sufficient to allowcorrelations to be performed reliably. N+CO*(C−1) corresponds to theamount of the code's X-component that needs to be generated to perform acorrelation of length N with C cells spaced CO chips apart. Also, at thesame time, N complex samples of the code's Y-component need to begenerated. It should be noted that the product term CO*C represents thechip offset between the X-components of the respective scrambling codesof the first cells of two adjacent groups of base stations or cells. Asmentioned above, during the first two steps of the initial cell searchprocedure, the start of the frame containing the scrambling code isidentified and group identification information relating to the groupwhich includes the cell that transmitted the received signals isavailable. With this information, the group which includes the cell thattransmitted the received signals is identified. Moreover, using thisinformation, the proper master scrambling code which covers all thepossible scrambling codes from all the cells within the identified groupcan be generated. At 24, portions of the master scrambling code'sX-component buffer are used, along with the common Y-component buffer,to create individual scrambling codes which correspond to the cellswithin the identified group. These individual scrambling codes are thencorrelated with the received signals in a parallel manner to determinewhich of the cells within the identified group transmitted the receivedsignals.

The following is an example illustrating the exemplary method of thepresent invention. The example is based on the following assumptions:the correlation length N is two hundred and fifty-six (256); the chipoffset CO is sixteen (16); and the number of cells C within theidentified group is eight (8). The period of the master scrambling codeis thirty-eight thousand and four hundred (38,400) chips.

Next, three hundred and sixty-eight (368) chips (X₀→X₃₆₇) of the masterscrambling code's X-component, as well as two hundred and fifty-six(256) chips (Y₀→Y₂₅₅) of the master scrambling code's Y-component, aregenerated from a single scrambling code generator tuned to the firstprimary cell of the underlying identified group. The length of threehundred and sixty-eight (368) chips is determined based on the formulaN+CO*(C−1) which, in this case, equals to256+16*(8−1)=256+16*7=256+112=368. The length of chips for theY-component is determined by the correlation length N, which in thiscase is two hundred and fifty-six (256). It should be noted that it isnot necessary to generate all three hundred and sixty-eight (368) chipsand all two hundred and fifty-six (256) Y-component chips prior tocorrelation. The generation of three hundred and sixty-eight (368) chipsis specified to emphasize the total number of chips required out of thescrambling code generator's X-component to implement eight (8) parallelcorrelations of two hundred and fifty-six (256) chips each.

FIG. 3 is a simplified diagram illustrating parallel correlations ofeight (8) cells in a group using a single scrambling code generator. Asshown in FIG. 3, each of the eight (8) correlators correlates thereceived signals or real-time data (D₀→D₂₅₅) with two hundred andfifty-six (256) X-component chips and two hundred and fifty-six (256)Y-component chips. The respective X-component chips for the correlatorsare each generated by operating on different portions of the X-componentbuffer. As mentioned above, the X-component buffer contains theX-component of the master scrambling code. Furthermore, the respectiveX-component chips of two adjacent correlators are started at an offsetof sixteen (16) chips. The Y-component chips are the same for allcorrelators. It should be noted that the contents of the X-componentbuffer and the Y-component buffer are complex. For example, the firstcorrelator correlates the received signals (D₀→D₂₅₅) with theX-component chips (X₀→X₂₅₅) and with the Y-component chips (Y₀→Y₂₅₅);the second correlator correlates the received signals (D₀→D₂₅₅) with theX-component chips (X₁₆→X₂₇₁) and again with the Y-component chips(Y₀→Y₂₅₅); and so on, and the final correlator correlates the receivedsignals (D₀→D₂₅₅) with the X-component chips (X₁₁₂→X₃₆₇) and also withthe Y-component chips (Y₀→Y₂₅₅). The correlation results are thenobtained from each of the correlators. By evaluating the correlationresults, the scrambling code represented by the received signals can beidentified and, hence, the identity of the base station or cell whichtransmitted the received signals can also be determined.

FIG. 4 is a simplified diagram illustrating an exemplary implementationof the exemplary method described above in accordance with the presentinvention. It is to be noted that the received signals are processedsimultaneously in real-time by eight (8) parallel correlators. Thescrambling code generator generates and X-component buffer that is threehundred and sixty-eight (368) chips long, i.e., N+112 chips, and aY-component buffer that is two hundred and fifty-six (256) chips long.This is in contrast to 8*N*2 (*8N for the X-component and *8N for theY-component) complex chips that must be generated for the alternativeapproach in the parallel search implementation. Hence, there is a factorof 8N*2/(2N+128) savings on the scrambling code generation complexityusing the present invention, which equals to 6.4 for N=256 (an 85%reduction in complexity). [Please check some of the numbers in the aboveparagraph. Information provided in the other application for the sameparagraph is slightly different.]

The exemplary method of the present invention as described may beimplemented in software, hardware or a combination of both. For example,the exemplary method of the present invention may be implemented ascontrol logic using software embedded in a mobile terminal. Whenimplemented using software, the exemplary method may be implemented in amodular or integrated manner within the mobile terminal. Based ondisclosure provided herein, a person of ordinary skill in the art willknow of other ways and/or methods to implement the present invention.

Referring to FIG. 3, it can be seen that in accordance with theexemplary method, for a correlation length of two hundred and fifty-six(256), a 16-chip offset between the X-components of the scrambling codesand eight (8) cells within a group, a master scrambling code with aperiod of thirty-eight thousand and four hundred (38,400) chips isgenerated. This would require a global storage access of 8N*2 locations(since data is complex) for every N chips of correlation. If hardwareresources are not limited, then the master scrambling code and thereceived signals can be stored in memory registers and each correlatorcan then read out the corresponding 256-chip scrambling code that itneeds to perform the correlation.

FIG. 5 is a flow diagram illustrating an exemplary implementation of theexemplary method described above in accordance with the presentinvention. As will be illustrated below, the exemplary implementationreduces the storage and access requirements needed to implement theexemplary method in accordance with the present invention. Referring toFIG. 5, at 50, a portion of the master scrambling code is generated topopulate the correlators. The generation of the master scrambling codeby a single scrambling code generator is described above. As previouslydescribed, the master scrambling code has a X-component and aY-component. The number of correlators and the length of each correlatorrespectively depend on the number of cells within a group and the chipoffset between the X-components of the respective scrambling codes oftwo adjacent cells within the group. The correlators collectivelycontain the entire generated portion of the master scrambling code,i.e., each correlator is populated with segments of the X- andY-components of the generated portion of the master scrambling code. Thelength of the portion of the master scrambling code's X-component to begenerated depends on the chip offset between the X-components of therespective scrambling codes of two adjacent groups of cells. Asmentioned above, this chip offset, in turn, depends on the number ofcells within a group and the chip offset between the X-components of therespective scrambling codes of two adjacent cells within the group. Forinstance, for a W-CDMA communication system, there are eight (8) cellsin a group and the chip offset between the X-components of thescrambling codes of two adjacent cells within the group is sixteen (16).Hence, the length of the portion of the X-component of the masterscrambling code to be initially generated is one hundred andtwenty-eight (128=16*8) chips.

At 52, a set of received signals are captured. The duration of thecapture period equals to the chip offset between the X-components of therespective scrambling codes of two adjacent cells within a group. For aW-CDMA communication system, the duration of the capture period is thussixteen (16) chips.

At 54, the set of received signals are correlated with the generatedportion of the master scrambling code by the correlators and thecorrelation results are stored. After the correlations are performed, at56, each correlator shifts or propagates its segment of the X-componentof the generated portion of the master scrambling code to itsneighboring correlator and shares a common Y-component segment. Theexception being that, at 58, the first correlator discards its currentsegment of the X-component and the last correlator receives a newlygenerated segment of the X-component from the single scrambling codegenerator. In addition, at 58, segments of the Y-component from all thecorrelators are discarded and a newly generated segment of theY-component is loaded into all the correlators in parallel. As a result,at any given time, all the correlators share the same segment of theY-component. Then, the process returns to 52 where the next set ofreceived signals are captured and correlated. The foregoing process isrepeated until the entire master scrambling code is generated andcorrelated. From an alternative perspective, this can be viewed assegments of the X-component of the master scrambling code beingcorrelated in a pipelined fashion on a first-in-first-out basis.

FIGS. 6 a and 6 b are simplified block diagrams illustrating anexemplary physical implementation of the exemplary method describedabove. Referring to FIGS. 6 a and 6 b, there is shown an exemplarysystem 60 having a single scrambling code generator 62 and eight (8)correlators 64-78. This exemplary system 60 operates based on thefollowing assumptions: there are eight (8) cells in a group; the chipoffset between the X-components of the respective scrambling codes oftwo adjacent cells in a group is sixteen (16) chips; and the correlationlength N is selected to be two hundred and fifty-six (256).

The exemplary system 60 operates as follows. Initially, before anycorrelation is performed, the correlators COR₀-COR₇ 64-78 arecollectively populated with a portion of the master scrambling code's X-and Y-components by the single scrambling code generator 62. The portionof the X-component of the master scrambling code that is initiallygenerated is one hundred and twenty-eight (128=16*8) in length (X₀→X₁₂₇)and the portion of the Y-component that is initially generated issixteen (16) chips in length. The portion of the X-component of themaster scrambling code is segmented and populated into the correlatorsCOR₀-COR₇ 64-78 and the portion of the Y-component is loaded in parallelinto all the correlators COR₀-COR₇ 64-78. Each correlator has a lengthof sixteen (16). For example, after initial population, correlator COR₀78 includes scrambling code segment X₀-X₁₅; correlator COR₁ 76 includessegment X₁₆-X₃₁; and correlator COR₇ 64 includes segment X₁₁₂-X₁₂₇; andso on. In addition, all the correlators COR₀-COR₇ 64-78 also includescrambling code segment Y₀-Y₁₅. It should be noted that the initialgeneration of all one hundred and twenty-eight (128) chips of theportion of the X-component of the master scrambling code and the sixteen(16) chips of the portion of the Y-component of the master scramblingcode before starting any of the correlations is not required. One of thecorrelators 64-78 can be started every sixteen (16) chips in a pipelinedfashion.

Next, a set of complex data signals or samples which is sixteen (16)chips in length, D₀-D₁₅, are received and fed to each of the correlators64-78. Then, each correlator partially correlates the same set ofreceived complex data samples with the complex conjugate of itscorresponding scrambling code segment. The corresponding scramblingsegment includes a portion of the X-component and a portion of theY-component. It is to be noted that the respective X-components of thescrambling code segments of any two adjacent correlators have a chipoffset of sixteen (16) chips and that the same portion of theY-component is shared by all the correlators 64-78. For example, thefirst correlator COR₀ 78 correlates the received data samples, D₀-D₁₅,with the complex conjugate of its corresponding scrambling code segment,(X₀→X₁₅)+j(Y₀→Y₁₅); the second correlator COR₁ 76 correlates thereceived data samples, D₀-D₁₅, with the complex conjugate of itscorresponding scrambling code segment, (X₁₆→X₃₁)+j(Y₀→Y₁₅); and so on,and the final correlator COR₇ 64 correlates the received data samples,D₀-D₁₅, with the complex conjugate of its corresponding scrambling codesegment, (X₁₁₂→X₁₂₇)+j(Y₀→Y₁₅). The correlations of the eight (8)correlators 64-78 are performed concurrently in a parallel manner andthe correlation results are stored for subsequent evaluation.

After this first iteration of correlations, each correlator passes itscurrent corresponding scrambling code segment (X-component) to aneighboring correlator. It should be noted that each correlator has twoneighboring correlators. In effect, with two exceptions which will bedescribed below, this means each correlator also receives a newcorresponding scramble code segment (X-component) from anotherneighboring correlator. Graphically, this is shown as follows:COR₁→COR₀, COR₂→COR₁, COR₃→COR₂, COR₄→COR₃, COR₅→COR₄, COR₆→COR₅. Inessence, the scrambling code segments (X-components) are shifted orpropagated along the correlators 64-78. The two exceptions are the firstcorrelator COR₀ 78 and the last correlator COR₇ 64. For the firstcorrelator COR₀ 78, its current corresponding scramble code segment(X-component) is discarded; and for the last correlator COR₇ 64, a newscrambling code segment (X-component) generated by the single scramblingcode generator 62 is fed to the last correlator COR₇ 64. The newlygenerated scrambling code segment (X-component) is the next segment ofthe master scrambling code that follows the scrambling code segment(X-component) that was in the last correlator COR₇ 64 before thatscrambling code segment (X-component) was transferred to correlator COR₆66. For example, after the first iteration, the newly generatedscrambling code segment (X-component) to be fed into the last correlatorCOR₇ 64 is X₁₂₈-X₁₄₃. This is because scrambling code segment(X-component) X₁₂₈-X₁₄₃ follows scrambling code segment (X-component)X₁₁₂-X₁₂₇ within the master scrambling code. By shifting or transferringthe scrambling code segments as described above, the entire masterscrambling code is propagated along all the correlators 64-78 and iseventually correlated with the received data samples as described inFIG. 3. Furthermore, along with the generation of the new scramblingcode segment (X-component), a new scrambling code segment (Y-component)is also generated. In the present example, the new scrambling codesegment (Y-component) is Y₁₆-Y₃₁ following the previous scrambling code(Y-component) Y₀-Y₁₅. As described above, the new scrambling code(Y-component) is loaded into all the correlators 64-78 in parallel.

The next set of complex data samples are received, D₁₆-D₃₁, and loadedinto the correlators 64-78. Another iteration of concurrent correlationsby the correlators 64-78 is then performed again. The foregoing processof shifting the scrambling code segments, receiving the next set ofcomplex data samples and performing another iteration of correlations isrepeated until the master scrambling code is correlated or, conversely,the collective length of all the received complex data samples reachesthe correlation length.

FIG. 7 a illustrates the correlation results generated using theexemplary method shown in FIG. 3. FIG. 7 b illustrates the correlationresults after the first iteration of correlations by the exemplarysystem 60. Comparing FIGS. 7 a and 7 b, it can be seen that by using theexemplary system 60 shown in FIG. 6, sixteen (16) terms are generated byeach of the eight (8) correlations after one iteration. Hence, in orderto generate the complete results as shown in FIG. 7 a based on acorrelation length of two hundred and fifty-six (256), sixteen (16)total iterations are executed.

As can be seen above, scrambling code segments (X- and Y-components)which make up the master scrambling code are internally shared amongstcorrelators 64-78. For every predetermined period (that is defined bythe chip offset between the respective scrambling codes of any twoadjacent cells within a group), e.g., sixteen (16) chips, thecorresponding scrambling code segment (X-component) of each correlatoris refreshed or updated. This sharing of scrambling code segmentsreduces the access to the otherwise globally stored master scramblingcode by a factor of eight (8) (for cases using the above assumptions),i.e., 2N scrambling code read accesses are required every N chips ofcorrelations.

In addition, for every iteration of correlations, the scrambling codegenerator 62 transfers or generates only 2*2N/16 binary values to one ofthe correlators 64-78. As mentioned above, the rest of the correlators66-78 internally share the scrambling code segments which are alreadypresent amongst the correlators 64-78.

To further reduce scrambling code memory access as well as eachcorrelator's working size, the technique of packing and unpacking bitsmay be used. If the above binary values were packed into a word and thenunpacked at the time of correlation, the scrambling code generator 62then needs to transfer only 2*2N/(16*16) 16-bit words to the group ofcorrelators 64-78. That is, the working size of each correlator may bereduced to 2*2N/(16*16) by packing sixteen (16) bits at a time. Thisalso reduces scrambling code storage access to 2*2N/16.

Furthermore, it is understood that while the present invention asdescribed above is applicable to a W-CDMA communication system, itshould be clear to a person of ordinary skill in the art that thepresent invention can be applied to other types of communicationsystems.

Moreover, it should be noted that the present invention as describedherein may be implemented in a number of ways. For example, the presentinvention may be implemented using the adaptive computing architectureas disclosed in U.S. patent application Ser. No. 09/815,122 entitled“ADAPTIVE INTEGRATED CIRCUITRY WITH HETEROGENEOUS AND RECONFIGURABLEMATRICES OF DIVERSE AND ADAPTIVE COMPUTATIONAL UNITS HAVING FIXED,APPLICATION SPECIFIC COMPUTATIONAL ELEMENTS,” filed on Mar. 22, 2001,the disclosure of which is hereby incorporated by reference in theirentirety as if set forth in full herein for all purposes. For instance,using the adaptive computing architecture, the scrambling code generator62 and the correlators 64-78 may be implemented on demand within amobile terminal. Based on the disclosure provided herein, a person ofordinary skill in the art will know of other ways and/or methods toimplement and apply the present invention.

It is further understood that the examples and embodiments describedherein are for illustrative purposes only and that various modificationsor changes in light thereof will be suggested to persons skilled in theart and are to be included within the spirit and purview of thisapplication and scope of the appended claims. All publications, patents,and patent applications cited herein are hereby incorporated byreference for all purposes in their entirety.

1. A system for identifying a scrambling code from signals received froma base station, comprising: a scrambling code generator configured togenerate a plurality of X-component segments in a sequential manner, theplurality of codex-component segments making up a master scramblingcode; and a plurality of correlators arranged in a sequential manner,each correlator maintaining a corresponding X-component segment andconfigured to correlate a set of received signals with its correspondingX-component segment and generate corresponding correlation results, theplurality of correlators collectively performing their correlations in aparallel manner in one or more iterations; wherein after each performediteration, all but one of the plurality of correlators shift theircorresponding X-component segments to their respective neighboringcorrelators and a new X-component segment is generated by the scramblingcode generator and fed to one of the plurality of correlators.
 2. Thesystem according to claim 1 wherein the scrambling code generator isconfigured to generate a plurality of Y-component segments in asequential manner; wherein each correlator is further configure tomaintain a corresponding Y-component segment and correlate the set ofreceived signals with its corresponding Y-component segment and generatethe corresponding correlation results; and wherein after each performediteration, a new Y-component segment is generated by the scrambling codegenerator and loaded into the plurality of correlators.
 3. The systemaccording to claim 1 wherein the number of iterations performed by theplurality of correlators depends on a selected correlation length and apredetermined chip offset; and wherein the length of each correlatordepends on the predetermined chip offset.
 4. The system according toclaim 1 wherein after each performed iteration, a new set of receivedsignals is received by each correlator.
 5. The system according to claim1 wherein the correlation results generated by the plurality ofcorrelators are evaluated to identify the scrambling code from thereceived signals thereby allowing the identity of the base station whichtransmitted the received signals to be identified.
 6. The systemaccording to claim 1 wherein the plurality of correlators perform theircorrelations in a real-time manner.
 7. A mobile terminal incorporatingthe system as recited in claim
 1. 8. The system according to claim 1wherein the base station is located in a W-CDMA communication network.9. A system for identifying a scrambling code from signals received froma base station, the base station belonging to one of a plurality of basestation groups in a communication network, the system comprising: ascrambling code generator configured to generate a plurality ofX-component segments and a plurality of Y-component segments, theplurality of X-component segments and the plurality of Y-componentsegments being respectively in a sequential order, the plurality ofX-component and Y-component segments making up a master scrambling code;and a plurality of correlators arranged in a sequential manner, eachcorrelator maintaining a corresponding X-component segment and acorresponding Y-component segment and configured to correlate a set ofreceived signals with its corresponding X-component and Y-componentsegments and generate corresponding correlation results, the pluralityof correlators collectively performing their correlations in a parallelmanner in one or more iterations; wherein after each performediteration, all but one of the plurality of correlators shift theircorresponding X-component segments to their respective neighboringcorrelators and a new X-component segment is generated by the scramblingcode generator and fed to one of the plurality of correlators, and a newY-component segment is generated by the scrambling code generator andloaded into the plurality of correlators.
 10. The system according toclaim 9 wherein the number of iterations performed by the plurality ofcorrelators depends on a selected correlation length and a predeterminedchip offset; and wherein the length of each correlator depends on thepredetermined chip offset.
 11. The system according to claim 9 whereinafter each performed iteration, a new set of received signals isreceived by each correlator.
 12. The system according to claim 9 whereinthe correlation results generated by the plurality of correlators areevaluated to identify the scrambling code from the received signalsthereby allowing the identity of the base station which transmitted thereceived signals to be identified.
 13. The system according to claim 9wherein the master scrambling code has a period determined by a selectedcorrelation length and a predetermined group chip offset.
 14. The systemaccording to claim 13 wherein the predetermined group chip offset isdetermined by the number of base stations within a base station groupand a predetermined chip offset.
 15. The system according to claim 9wherein the number of the plurality of correlators depends on the numberof base stations within a base station group.
 16. The system accordingto claim 9 wherein the plurality of correlators perform theircorrelations in a real-time manner.
 17. A mobile terminal incorporatingthe system as recited in claim
 9. 18. The system according to claim 9wherein the communication network is a W-CDMA communication network. 19.A system for identifying a scrambling code from signals received from abase station, the base station belonging to one of a plurality of basestation groups in a communication network, the system comprising: ascrambling code generator configured to generate a plurality ofX-component segments in a sequential manner, the plurality ofX-component segments making up a master scrambling code; and a pluralityof correlators coupled in a sequential manner and having a firstcorrelator, a last correlator and a plurality of intermediatecorrelators coupled between the first correlator and the lastcorrelator, the plurality of correlators configured to performcorrelations in a parallel manner in one or more iterations; wherein:the plurality of correlators are each populated with correspondingX-component segments generated by the scrambling code generator; each ofthe plurality of correlators receives a set of received data samples;the plurality of correlators correlate the set of received data sampleswith their corresponding X-component segments in parallel in oneiteration; after each iteration is completed, the plurality ofintermediate correlators and the last correlator shift theircorresponding X-component segments to their respective neighboringcorrelator, the corresponding X-component segment of the firstcorrelator is discarded, and a new X-component segment is generated bythe scrambling code generator and fed to the last correlator.
 20. Thesystem according to claim 19 wherein the scrambling code generator isfurther configured to generate a plurality of Y-component segments in asequential manner; wherein the plurality of correlators are eachpopulated with corresponding Y-component segments; wherein the pluralityof correlators correlate the set of received data samples with theircorresponding Y-component segments in parallel in one iteration; andwherein after each iteration is completed, a new Y-component segment isgenerated by the scrambling code generator and loaded into the pluralityof correlators in parallel.
 21. The system according to claim 20 whereinthe new Y-component segment follows the Y-component segment that waspreviously in the plurality of correlators.
 22. The system according toclaim 19 wherein after the one iteration is completed, a new set ofreceived data samples is received by the plurality of correlators. 23.The system according to claim 19 wherein the master scrambling code hasa period determined by a selected correlation length and a predeterminedgroup chip offset.
 24. The system according to claim 23 wherein thepredetermined group chip offset is determined by the number of basestations within a base station group and a predetermined chip offset.25. The system according to claim 19 wherein the number of the pluralityof correlators depends on the number of base stations within a basestation group.
 26. The system according to claim 19 wherein theplurality of correlators perform their correlations in a real-timemanner.
 27. The system according to claim 19 wherein the new X-componentsegment follows the corresponding X-component segment which was in thelast correlator before that corresponding X-component segment wasshifted.
 28. A mobile terminal incorporating the system as recited inclaim
 19. 29. The system according to claim 19 wherein the communicationnetwork is a W-CDMA communication network and the system is used inconnection with acquisition of a downlink of a 3GPP W-CDMA cell duringstage 3 of a cell search procedure.
 30. A method for identifying ascrambling code from signals received from a base station, comprising:selecting a correlation length; identifying a master scrambling codeusing the selected correlation length, the master scrambling codecomprising a plurality of X-component segments arranged in a sequentialmanner; populating each of a plurality of correlators with acorresponding X-component segment in a sequential manner; providing aset of received data samples to each of the plurality of correlators;causing each of the plurality of correlators to correlate the set ofreceived data samples with its corresponding X-component segment andstore corresponding correlation results; shifting the correspondingX-component segments of all but one of the plurality of correlators totheir respective neighboring correlators; populating one of theplurality of correlators with a new X-component segment, the newX-component segment sequentially following the corresponding X-componentsegments which are in the plurality of correlators; and repeating theproviding step, the causing step, the shifting step and the populatingstep with the new X-component segment with successive sets of receiveddata samples until the selected correlation length is achieved.
 31. Themethod of claim 30 wherein the master scrambling code further includes aplurality of Y-component segments; and further comprising: populatingeach of the plurality of correlators with a Y-component segment; causingeach of the plurality of correlators to correlate the set of receiveddata samples with its corresponding Y-component segment and store thecorresponding correlation results; after each correlation, generating anew Y-component segment, the new Y-component segment sequentiallyfollowing the previous Y-component segment that was in the plurality ofcorrelators, and populating each of the plurality of correlators withthe new Y-component segment.
 32. The method of claim 30 furthercomprising: evaluating the stored correlation results generated by theplurality of correlators to identify the scrambling code from thesignals received from the base station thereby allowing the identity ofthe base station to be identified.
 33. The method of claim 30 whereinthe causing step further comprises: causing each of the plurality ofcorrelators to correlate in a concurrent and real-time manner.
 34. Amobile terminal utilizing the method as recited in claim
 30. 35. Themethod according to claim 30 wherein the base station is located in aW-CDMA communication network and the method is used in connection withacquisition of a downlink of a 3GPP W-CDMA cell during stage 3 of a cellsearch procedure.
 36. A method for identifying a scrambling code fromsignals received from a base station, the base station belonging to oneof a plurality of base station groups in a communication network, themethod comprising: identifying a master scrambling code, the masterscrambling code comprising a plurality of X-component segments arrangedin a sequential manner; performing a series of successive correlationiterations using a number of X-component segments taken from theplurality of X-component segments and corresponding sets of receiveddata samples; and for each correlation iteration: providing a new set ofreceived data samples; correlating the new set of received data sampleswith the number of X-component segments and storing correlation results;and refreshing the number of X-component segments in afirst-in-first-out basis by discarding one X-component segment andadding another X-component segment.
 37. The method of claim 36 whereinthe master scrambling code further comprises a plurality of Y-componentsegments, and further comprising: performing a series of successivecorrelation iterations using a number of Y-component segments taken fromthe plurality of Y-component segments and corresponding sets of receiveddata samples; and for each correlation iteration: correlating the newset of received data samples with a Y-component segment and storing thecorrelation results; and after each correlation iteration is completed,replacing the current Y-component segment with a new Y-componentsegment.
 38. The method of claim 36 further comprising: evaluating thecollectively stored correlation results to identify the scrambling codefrom the signals received from the base station thereby allowing theidentity of the base station to be identified.
 39. The method of claim36 wherein for each correlation iteration, the correlating step furthercomprises: correlating the new set of received data samples with each ofthe number of X-component segments in a concurrent manner.
 40. Themethod of claim 36 further comprising: selecting a correlation length;and wherein the period of the master scrambling code depends on thecorrelation length and a predetermined group chip offset.
 41. The methodof claim 40 wherein the predetermined group chip offset depends on thenumber of base stations within a base station group and a predeterminedchip offset between two adjacent base stations within the base stationgroup.
 42. The method of claim 40 wherein the number of successivecorrelation iterations depends on the selected correlation length andthe number of X-component segments being correlated during eachcorrelation iteration.
 43. A mobile terminal utilizing the method asrecited in claim
 36. 44. The method according to claim 36 wherein thecommunication network is a W-CDMA communication network and the methodis used in connection with acquisition of a downlink of a 3GPP W-CDMAcell during stage 3 of a cell search procedure.
 45. A method foridentifying a scrambling code from signals received from a base station,the base station belonging to one of a plurality of base station groupsin a communication network, the method comprising: identifying a masterscrambling code, the master scrambling code comprising a plurality ofX-component segments arranged in a sequential manner; configuring ascrambling code generator to generate the plurality of X-componentsegments one X-component segment at a time; configuring a plurality ofcorrelators in a sequential manner to perform correlations, theplurality of correlators having a first correlator, a last correlatorand a plurality of intermediate correlators coupled between the firstcorrelator and the last correlator; populating each of the plurality ofcorrelators with a corresponding X-component segment generated from thescrambling code generator; causing the plurality of correlators toperform a series of successive correlation iterations using theircorresponding X-component segments and corresponding sets of receiveddata samples; and for each correlation iteration: providing a new set ofreceived data samples; causing the plurality of correlators torespectively correlate the new set of received data samples with theircorresponding X-component segments and store respective correlationresults; shifting the corresponding X-component segments of theplurality of intermediate correlators and the last correlator to theirrespective neighboring correlators; transferring a new X-componentsegment generated by the scrambling code generator to the lastcorrelator, the new X-component segment being in sequence with thecorresponding X-component segment which was previously present in thelast correlator.
 46. The method of claim 47 wherein the masterscrambling code further includes a plurality of Y-component segments ina sequential manner, and further comprising: configuring the scramblingcode generator to generate the plurality of Y-component segments oneY-component segment at a time; and causing the plurality of correlatorsto perform a series of correlation iterations using their correspondingsets of received data samples and the plurality of Y-component segments;for each correlation iteration: causing the plurality of correlators torespectively correlate the new set of received data samples with oneY-component segment and store the respective correlation results; anddirecting the plurality of correlators to receive a new Y-componentsegment from the scrambling code generator, the new Y-component segmentbeing in sequence with the Y-component segment that was used in theprevious correlation iteration.
 47. The method of claim 45 furthercomprising: for each correlation iteration, discarding the correspondingX-component segment of the first correlator.
 48. The method of claim 45wherein the causing step further comprises: causing the plurality ofcorrelators to correlate in a concurrent manner.
 49. The method of claim45 further comprising: selecting a correlation length; and wherein theperiod of the master scrambling code depends on the correlation lengthand a predetermined group chip offset.
 50. The method of claim 49wherein the predetermined group chip offset depends on the number ofbase stations within a base station group and a predetermined chipoffset between two adjacent base stations within the base station group.51. The method of claim 49 wherein the number of successive correlationiterations depends on the selected correlation length and the length ofeach X-component segment.
 52. A mobile terminal utilizing the method asrecited in claim
 45. 53. The method according to claim 45 wherein thecommunication network is a W-CDMA communication network and the methodis used in connection with acquisition of a downlink of a 3GPP W-CDMAcell during stage 3 of a cell search procedure.